Reverse Engineering Foreign Type Systems

نویسندگان

  • Mark Grechanik
  • Dewayne E. Perry
چکیده

Building systems from existing applications and mats and types. Different data formats and languages have data sources is common practice. Semi-structured data sources (such as XML, HTML, and databases) and programming languages (such as C# and Java) conform to welldefined, albeit different, type systems, each with their own unique underlying representations. As a consequence, reverse engineering of programs that access, manipulate and update data in foreign type systems (FTSs), i.e., type systems that are different from the host programming language, is a notoriously difficult task. We present a practical and effective process to reverse engineer FTS-based systems. We offer a programming model that is based on the uniform abstraction of FTSs as graphs and the use of path expressions1 for traversing and manipulating data. This model enables us to achieve multiple benefits, including coding simplicity and uniformity (where neither was present before) that facilitate further reverse engineering. By performing control and data flow analyses of FTS-based programs we infer the schemas used by all participating FTSs and the actions performed by each FTS on others. Finally, we describe a tool called FORTRESS that we implement to automate our reverse engineering process. The contribution of this paper is a process that allows programmers to reverse engineer automatically foreign type systems and their instances at the highest level of design. We know of no other approach with comparable benefits.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reengineering Large - Scale Polylingual Systems ( Extended

Building systems from existing applications writConsider an architecture for polylingual systems as shown in ten in two or more languages is common practice. Such systems are polylingual. Polylingual systems are relatively easy to build when the number of APIs needed to achieve language interoperability is small. However, when the number of distinct APIs become large, maintaining and evolving t...

متن کامل

Reengineering Large-Scale Polylingual Systems

Building systems from existing applications written in two or more languages is common practice. Such systems are polylingual. Polylingual systems are relatively easy to build when the number of APIs needed to achieve language interoperability is small. However, when the number of distinct APIs become large, maintaining and evolving them becomes a notoriously difficult task. We present a practi...

متن کامل

بهینه‌سازی اجرا و پاسخ صفحات وب در فضای ابری با روش‌های پیش‌پردازش، مطالعه موردی سامانه‌های وارنیش و انجینکس

The response speed of Web pages is one of the necessities of information technology. In recent years, renowned companies such as Google and computer scientists focused on speeding up the web. Achievements such as Google Pagespeed, Nginx and varnish are the result of these researches. In Customer to Customer(C2C) business systems, such as chat systems, and in Business to Customer(B2C) systems, s...

متن کامل

Polynomial Dynamical Systems in Systems Biology

Research in systems biology focuses on the prediction and control of the behavior of biochemical networks through the use of mathematical models that accurately capture the responses of the network to certain types of perturbations. The construction of models based on the observations of these responses, referred to as reverse engineering, is an important step in discovering the structure and d...

متن کامل

A New Thermodynamic Approach for Protein Partitioning in Reverse Micellar Solution

Reverse micellar systems are nanofluids with unique properties that make them attractive in high selectivity separation processes, especially for biological compounds. Understanding the phase behavior and thermodynamic properties of these nanosystems is the first step in process design. Separation of components by these nanosystems is performed upon contact of aqueous and reverse micellar phase...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003